package com.study.tx.common.dao;

import com.study.tx.common.entity.Order;

import java.util.List;

/**
 * 订单 DAO 接口
 *
 * @author doveylovey
 * @version v1.0.0
 * @email 1135782208@qq.com
 * @date 2021年02月02日
 */
public interface OrderDao {
    /**
     * 清空表中数据
     *
     * @return int
     */
    default Integer truncateOrder() {
        return null;
    }

    /**
     * 新增
     *
     * @param order
     * @return
     */
    default Integer insert(Order order) {
        return null;
    }

    /**
     * 修改
     *
     * @param order
     * @return
     */
    default Integer update(Order order) {
        return null;
    }

    /**
     * 删除
     *
     * @param orderId
     * @return
     */
    default Integer delete(Long orderId) {
        return null;
    }

    /**
     * 查询
     *
     * @param userId
     * @return
     */
    default List<Order> findByUserId(Long userId) {
        return null;
    }

    /**
     * 方法功能描述
     *
     * @param userId
     * @return java.lang.Integer
     */
    default Integer userOrderNum(Long userId) {
        return null;
    }

    /**
     * 方法功能描述
     *
     * @param userId
     * @return java.util.List<java.lang.Integer>
     */
    default List<Integer> userOrderIds(Long userId) {
        return null;
    }

    /**
     * 方法功能描述
     *
     * @param orderId
     * @return Order
     */
    default Order findOne(Long orderId) {
        return null;
    }

    /**
     * 方法功能描述
     *
     * @param userId
     * @param pageNum
     * @param pageSize
     * @return java.util.List<Order>
     */
    default List<Order> findPage(Long userId, Integer pageNum, Integer pageSize) {
        return null;
    }
}
